package com.seeyon.apps.u8cloud.manager;

import com.seeyon.apps.u8cloud.model.CommonResult;
import com.seeyon.apps.u8cloud.model.VoucherParams;
import com.seeyon.cap4.form.bean.FormBean;
import com.seeyon.cap4.form.bean.FormDataMasterBean;
import com.seeyon.ctp.util.annotation.AjaxAccess;

import java.util.List;

/**
 * @ClassName : U8CloudVoucherManager
 * @Description :
 * @CreateDate : 2025/9/2 10:09
 * @Author : CheungHowrAn
 * @Version : 1.0.0
 * @PackageName com.seeyon.apps.u8cloud.manager
 * @Project : BSiEE本涩_A8_V9.0SP1
 */
public interface U8CloudVoucherManager {


    /**
     * @MethodName: createVoucher
     * @Description: 创建凭证
     * @CreateDate: 2025/9/2 14:09
     * @Author: CheungHowrAn
     * @Param formId
     * @Param idStrList
     * @Return CommonResult
     */
    @AjaxAccess
    public CommonResult createVoucher(String formId, List<String> idStrList);

    /**
     * @MethodName: getPaymentVoucherParams
     * @Description: 获取付款凭证参数
     * @CreateDate: 2025/9/2 14:09
     * @Author: CheungHowrAn
     * @Param master
     * @Param formBean
     * @Return List<Details>
     */
    public VoucherParams getPaymentVoucherParams(FormDataMasterBean master, FormBean formBean);

    /**
     * @MethodName: getExpenseVoucherParams
     * @Description: 获取报销凭证参数
     * @CreateDate: 2025/9/2 14:09
     * @Author: CheungHowrAn
     * @Param master
     * @Param formBean
     * @Return VoucherParams
     */
    public VoucherParams getExpenseVoucherParams(FormDataMasterBean master, FormBean formBean);


    /**
     * @MethodName: getTransferVoucherParams
     * @Description: 获取差旅凭证参数
     * @CreateDate: 2025/9/2 14:10
     * @Author: CheungHowrAn
     * @Param master
     * @Param formBean
     * @Return VoucherParams
     */
    public VoucherParams getTransferVoucherParams(FormDataMasterBean master, FormBean formBean);

    /**
     * @MethodName: getTransferVoucherParams
     * @Description: 获取差旅凭证参数
     * @CreateDate: 2025/9/2 14:10
     * @Author: CheungHowrAn
     * @Param master
     * @Return VoucherParams
     */
    public VoucherParams getTransferVoucherParams(FormDataMasterBean master);

}
